﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Oya.Entities
{
    /// <summary>
    /// Goal A Base for Items.
    /// </summary>
    public abstract class ElementBase : Nomable
    {
        /// <summary>
        /// Definie si l element est actif.
        /// </summary><remarks>pe mettre ca dans inventaire</remarks>
        public bool EstActif { get; set; }

        private ElementType typeElement;

        /// <summary>
        ///  selon le monstre sur lequel l’habileté est exécutée va déterminer si ce dernier résiste naturellement en partie aux effets de l’habileté ou si au contraire il est vulnérable.
        /// </summary>
        public ElementType TypeElement
        {
            get { return typeElement; }
            set { typeElement = value; }
        }


        /// <summary>
        /// Type d effet de l habilete
        /// </summary>
        public ElementEffetType TypeEffet {get;set ;}

        /// <summary>
        /// cost of the item in the store
        /// </summary>
        public int Cout { get; set; }

        // its affected properties

        /// <summary>
        /// Utiliser sur un monstre cible l element.
        /// </summary>
        /// <example>
        /// monstreCible.Energie += 5;</example>
        /// <param name="monstreCible"></param>
        public abstract void Utiliser(MonstreBase monstreCible);


    }
}
